home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2006 May / PCWMAY06.iso / Software / Freeware / First Page 2006 3.00 / fp2006-final-3.00-setup.exe / {app} / Iscripts / DHTML - Other / javascript-sound-effect.izs < prev   
Text File  |  2005-09-02  |  7KB  |  128 lines

  1. <!NOWIZARD>
  2.  
  3. <!TITLE>JavaScript Sound effect
  4. <!/TITLE>
  5.  
  6. <!BROWSER>IE5+<!/BROWSER>
  7.  
  8. <!DESCRIPTION>Want to add a short sound effect to your page for certain actions, such as when the user moves the mouse over a link? This is a simple yet versatile script that lets you do just like! Relying on IE's BGSOUND attribute (and hence IE5+ only), the script can easily add a sound effect to a single item (ie: 1 link), or thanks to a helper function, all items of the specified element (ie: all <a> tags). This makes it very easy to add a sound effect to an entire menu's links, for example.
  9. <!/DESCRIPTION> 
  10.  
  11. <!CATEGORY>other<!/CATEGORY>
  12.  
  13. <!SCRIPT>
  14. <!-- START OF SCRIPT -->
  15. <!-- Step 1: Add the below script to the <HEAD> section of your page, and change "var soundfile" to point to where your sound file is located. -->
  16. <bgsound src="#" id="soundeffect" loop=1 autostart="true" />
  17.  
  18. <script type="text/javascript">
  19.  
  20. /***********************************************
  21. * JavaScript Sound effect- ⌐ Dynamic Drive DHTML code library (www.dynamicdrive.com)
  22. * Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
  23. * This notice must stay intact for legal use
  24. ***********************************************/
  25.  
  26. var soundfile="sidebar.wav" //path to sound file, or pass in filename directly into playsound()
  27.  
  28. function playsound(soundfile){
  29. if (document.all && document.getElementById){
  30. document.getElementById("soundeffect").src="" //reset first in case of problems
  31. document.getElementById("soundeffect").src=soundfile
  32. }
  33. }
  34.  
  35. function bindsound(tag, soundfile, masterElement){
  36. if (!window.event) return
  37. var source=event.srcElement
  38. while (source!=masterElement && source.tagName!="HTML"){
  39. if (source.tagName==tag.toUpperCase()){
  40. playsound(soundfile)
  41. break
  42. }
  43. source=source.parentElement
  44. }
  45. }
  46.  
  47. </script>
  48. <!-- Step 2: Set up an element to receive the JavaScript sound, whether onMouseover, onClick etc. For example, the below plays a sound when the mouse moves over a link:
  49.  
  50. <a href="#" onMouseover="playsound(soundfile)">Example 1</a>
  51.  
  52. <a href="#" onMouseover="playsound('different.wav')">Example 2</a>The second line shows that you can pass in a different wav file to play for any link other than the default specified within the script (var soundfile).
  53.  
  54. Adding a JavaScript sound to all elements of the specified type
  55. Now, here's something you might appreciate. Thanks to an additional function included in the script, you can add the sound effect easily to all elements of a certain type (ie: links) on the page or within a certain container. So lets say you wish to add a sound to all the links within your menu, which consists of 20 links. Instead of having to add the "onMouseover" code to all 20 links, you can just specify one single onMouseover event. The below shows how:
  56.  
  57. <div id="coolmenu" onMouseover="bindsound('A', soundfile, this)">
  58. <a href="http://www.cssdrive.com">CSS Drive</a>
  59. <a href="http://www.dynamicdrive.com"">Dynamic Drive</a>
  60. <a href="http://www.javascriptkit.com">JavaScript Kit</a>
  61. <a href="http://www.wired.com">Wired news</a>
  62. <a href="http://www.codingforums.com">Coding Forums</a>
  63. </div>This way, all links within the DIV will play a sound onMouseover. To apply the sound to all links on your page, for example, just add the onMouseover code to the <BODY> tag itself.
  64.  
  65. Function "bindsound()" accepts 3 parameters- 1) The tag name of the element to bind the sound to ("A" for <a>, "SPAN" for <span> etc), 2) the sound file to play, whether a variable or path to sound file, and finally, 3), the keyword "this", which should never be modified.
  66.  -->
  67. <!-- END OF SCRIPT -->
  68. <!/SCRIPT>
  69.  
  70. <!PREVIEW>
  71. <!-- START OF SCRIPT -->
  72.  
  73. <!-- Step 1: Add the below script to the <HEAD> section of your page, and change "var soundfile" to point to where your sound file is located. -->
  74. <bgsound src="#" id="soundeffect" loop=1 autostart="true" />
  75.  
  76. <script type="text/javascript">
  77.  
  78. /***********************************************
  79. * JavaScript Sound effect- ⌐ Dynamic Drive DHTML code library (www.dynamicdrive.com)
  80. * Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
  81. * This notice must stay intact for legal use
  82. ***********************************************/
  83.  
  84. var soundfile="sidebar.wav" //path to sound file, or pass in filename directly into playsound()
  85.  
  86. function playsound(soundfile){
  87. if (document.all && document.getElementById){
  88. document.getElementById("soundeffect").src="" //reset first in case of problems
  89. document.getElementById("soundeffect").src=soundfile
  90. }
  91. }
  92.  
  93. function bindsound(tag, soundfile, masterElement){
  94. if (!window.event) return
  95. var source=event.srcElement
  96. while (source!=masterElement && source.tagName!="HTML"){
  97. if (source.tagName==tag.toUpperCase()){
  98. playsound(soundfile)
  99. break
  100. }
  101. source=source.parentElement
  102. }
  103. }
  104.  
  105. </script>
  106. <!-- Step 2: Set up an element to receive the JavaScript sound, whether onMouseover, onClick etc. For example, the below plays a sound when the mouse moves over a link:
  107.  
  108. <a href="#" onMouseover="playsound(soundfile)">Example 1</a>
  109.  
  110. <a href="#" onMouseover="playsound('different.wav')">Example 2</a>The second line shows that you can pass in a different wav file to play for any link other than the default specified within the script (var soundfile).
  111.  
  112. Adding a JavaScript sound to all elements of the specified type
  113. Now, here's something you might appreciate. Thanks to an additional function included in the script, you can add the sound effect easily to all elements of a certain type (ie: links) on the page or within a certain container. So lets say you wish to add a sound to all the links within your menu, which consists of 20 links. Instead of having to add the "onMouseover" code to all 20 links, you can just specify one single onMouseover event. The below shows how:
  114.  
  115. <div id="coolmenu" onMouseover="bindsound('A', soundfile, this)">
  116. <a href="http://www.cssdrive.com">CSS Drive</a>
  117. <a href="http://www.dynamicdrive.com"">Dynamic Drive</a>
  118. <a href="http://www.javascriptkit.com">JavaScript Kit</a>
  119. <a href="http://www.wired.com">Wired news</a>
  120. <a href="http://www.codingforums.com">Coding Forums</a>
  121. </div>This way, all links within the DIV will play a sound onMouseover. To apply the sound to all links on your page, for example, just add the onMouseover code to the <BODY> tag itself.
  122.  
  123. Function "bindsound()" accepts 3 parameters- 1) The tag name of the element to bind the sound to ("A" for <a>, "SPAN" for <span> etc), 2) the sound file to play, whether a variable or path to sound file, and finally, 3), the keyword "this", which should never be modified.
  124.  -->
  125. <!-- END OF SCRIPT -->
  126. <!/PREVIEW>
  127.  
  128. <!RELATED>NONE<!/RELATED>